// import { getToken } from "@/utils/auth";
// import router from "@/router";
// import store from "@/store";

// //导航守卫
// const whiteList = ["/404", "/login"]; //白名单

// router.beforeEach(async (to, from, next) => {
//   if (getToken()) {
//     // 登录了
//     if (to.path === "/login") {
//       //登录了还去登录页 去主页
//       next("/");
//     } else {
//       // 登录了去的是别的页面 该去哪去哪
//       // 判断有没有用户资料  没有则请求
//       if (!store.getters["user/userId"]) {
//         await store.dispatch("user/getUserProfileAction");
//       }
//       next();
//     }
//   } else {
//     未登录;
//     if (whiteList.includes(to.path)) {
//       //在白名单 放行
//       next();
//     } else {
//       // 不在 拦截去登录
//       next("/login");
//     }
//   }
// });

import router from "@/router";
import store from "@/store";
import NProgress from "nprogress"; // 引入一份进度条插件
import "nprogress/nprogress.css"; // 引入进度条样式
import { getToken } from "@/utils/auth";

//  路由白名单
const whiteList = ["/404", "/login"];
// 导航守卫
router.beforeEach(async (to, from, next) => {
  NProgress.start(); // 开启进度条
  if (getToken()) {
    // 登陆了
    if (to.path === "login") {
      next("/");
    } else {
      // 登陆了就会去别的页面
      //  判断有没有用户资料，没有就会请求
      if (!store.getters["name"]) {
        await store.dispatch("user/getUserProfileAction");
      }
      next();
    }
  } else {
    // 未登陆
    if (whiteList.includes(to.path)) {
      next();
    } else {
      next("/login");
    }
  }
  NProgress.done();
});
// 后置守卫
router.afterEach(function () {
  NProgress.done(); // 关闭进度条
});
